<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<script>
  // 大的宏任务 --> 同步 --> 异步 微任务 >宏任务

  // 异步  setTimeout : 宏任务
  // setTimeout(() => {
  //   console.log(2); // 异步
  // }, 0);
  // setTimeout(() => {
  //   console.log(5); // 异步
  // }, 0);
  // /* 浏览器事件循环 */
  // new Promise((resolve, reject) => {
  //   console.log(1); // 同步的回调
  //   resolve(3); // 异步
  // }).then(res => console.log(res)); // then 异步  微任务
  // // 宏任务 和 微任务
  //
  // console.log(4); // 同步

  //董贞 4 1 3 2 5
  //韩金奇 4 1 3 2 5
  //王梦江 4 1 3 2 5
  //祝成  1 4 3 2 5

  //孟轩槿 1 4 2 5 3
  //王佳鑫 1 4 3 2 5
  // 看Main宏任务 同步

  const fn = (params) => {
    // 先找同步 再找异步
    new Promise((resolve) => {
      resolve()
    }).then(() => console.log(6));
    console.log(params);
    setTimeout(() => {
      console.log(7);
    }, 0)
  };
  console.log(1);
  setTimeout(fn.bind({}, 20), 0);
  const fn2 = (resolve) => {
    console.log(2);
    setTimeout(fn.bind(this, 10), 0);
    resolve();
    new Promise((resolve1) => {
      console.log(3);
      resolve1();
    }).then(() => console.log(5));
  };
  new Promise(fn2);
  console.log(4);


</script>
</body>
</html>
